﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml.Serialization;

    [Serializable, GeneratedCode("svcutil", "3.0.4506.2152"), DebuggerStepThrough, XmlType(Namespace="http://www.onvif.org/ver10/schema"), XmlInclude(typeof(H264Options2)), DesignerCategory("code")]
    public class H264Options
    {
        private IntRange encodingIntervalRangeField;
        private IntRange frameRateRangeField;
        private IntRange govLengthRangeField;
        private H264Profile[] h264ProfilesSupportedField;
        private VideoResolution[] resolutionsAvailableField;

        [XmlElement(Order=3)]
        public IntRange EncodingIntervalRange
        {
            get
            {
                return this.encodingIntervalRangeField;
            }
            set
            {
                this.encodingIntervalRangeField = value;
            }
        }

        [XmlElement(Order=2)]
        public IntRange FrameRateRange
        {
            get
            {
                return this.frameRateRangeField;
            }
            set
            {
                this.frameRateRangeField = value;
            }
        }

        [XmlElement(Order=1)]
        public IntRange GovLengthRange
        {
            get
            {
                return this.govLengthRangeField;
            }
            set
            {
                this.govLengthRangeField = value;
            }
        }

        [XmlElement("H264ProfilesSupported", Order=4)]
        public H264Profile[] H264ProfilesSupported
        {
            get
            {
                return this.h264ProfilesSupportedField;
            }
            set
            {
                this.h264ProfilesSupportedField = value;
            }
        }

        [XmlElement("ResolutionsAvailable", Order=0)]
        public VideoResolution[] ResolutionsAvailable
        {
            get
            {
                return this.resolutionsAvailableField;
            }
            set
            {
                this.resolutionsAvailableField = value;
            }
        }
    }
}

